<script>

    let  p=new  Promise((resolve,reject)=>{

        // resolve("成功") // 得到正确的结果就是成功
        // reject("失败") // 没有得到正确的结果就是失败
        // resove("成功") //  出现了不可预期的错误

        resolve("成功")

    })


    /* 
        promise 实例有then方法和catch 方法

        // then 捕获成功的结果
        p.then((res)=>{
            console.lo(res); // then 的第一个回调函数出现了不可预期的错误
        })

        // catch  专门用来捕获错误 
        p.catch((err)=>{
            console.log(err);
        }) 


    */

    // console.log( p.then() );  //Promise {<pending>}   因为then返回的是一个promise实例
    // 所以可以在then的后面 继续.then  形成链式操作
    // 所以可以在then的后面 继续.catch  形成链式操作
    // p.then().catch()  // 链式操作



    // console.log( p.catch() );  //Promise {<pending>}   因为catch返回的是一个promise实例
    // 所以可以在catch的后面 继续.then  形成链式操作
    // 所以可以在catch的后面 继续.catch  形成链式操作
    // p.then().catch().catch().catch().then()

        

    p.then((res)=>{
        console.lo(res); // then 的第一个回调函数出现了不可预期的错误
    }).catch((err)=>{
        console.log(err);

        // 当promise内部出现了错误之后，catch  可以捕获错误
        // 当promise内部没有出现错误，但是then出现错误了，这样也能捕获到错误：（因为then会返回一个promise，then出错了，就是这个promise出错了，所以照样能捕获）
    })





    // 每一次调用了css方法之后,都返回了 $("#box")   所以可以继续.css
    // $("#box").css().css().css()

    
</script>